前言
今天的過程會牽涉到檔案操作、權限設定、資料庫建立與設定檔修改,是整個環境建置過程中細節最多的一步。
第一步:下載 DVWA 原始碼
首先需要從官方的 GitHub 儲存庫取得 DVWA 的原始碼。
打開Kali 終端機。
使用 git 指令將 DVWA 的專案複製 (clone) 下來。直接把它下載到桌面,方便後續操作。
Bash
# 切換到桌面目錄
cd ~/Desktop
# 從 GitHub clone 專案
git clone https://github.com/digininja/DVWA.git
執行完畢後,桌面上應該會出現一個名為 DVWA 的資料夾。
第二步:將 DVWA 部署到網站根目錄
Apache 預設的網站根目錄在 /var/www/html。需要將 DVWA 資料夾裡的內容複製過去。
為了方便,先把舊的 html 目錄改名備份,再建立一個新的。
Bash
sudo mv /var/www/html /var/www/html.bak
sudo mkdir /var/www/html
將桌面 DVWA 資料夾內的所有檔案,複製到新的網站根目錄。
Bash
sudo cp -R ~/Desktop/DVWA/* /var/www/html/
第三步:設定檔案權限
出於安全性,Apache 對於網站目錄的檔案權限有嚴格要求。需要確保 Apache 的使用者 (www-data) 有權限讀取與寫入特定檔案。
更改整個網站目錄的擁有者為 www-data。
Bash
sudo chown -R www-data:www-data /var/www/html/
DVWA 有些功能(例如檔案上傳漏洞)需要寫入權限,要確保相關目錄是可寫的。
Bash
sudo chmod -R 777 /var/www/html/hackable/uploads/
sudo chmod -R 777 /var/www/html/external/phpids/0.6/lib/IDS/tmp/
chmod 777 是一個比較寬鬆的權限設定,在學習環境中可以接受,但在真實世界的正式主機上絕對要避免。
第四步:建立 DVWA 專用的資料庫
DVWA 需要一個獨立的資料庫來儲存它的使用者資料和漏洞相關內容。
登入前一天設定好的 MariaDB。
Bash
# -u 指定使用者為 root,-p 表示需要輸入密碼
sudo mysql -u root -p
接著輸入為資料庫 root 使用者設定的密碼
成功登入後,會看到 MariaDB [(none)]> 的提示符。。
貼上以下整段指令,然後按 Enter:
SQL
CREATE DATABASE dvwa;
CREATE USER 'dvwa_user'@'127.0.0.1' IDENTIFIED BY 'password123';
GRANT ALL PRIVILEGES ON dvwa.* TO 'dvwa_user'@'127.0.0.1';
FLUSH PRIVILEGES;
EXIT;
這段指令做了四件事:
建立了一個名為 dvwa 的資料庫。
建立了一個名為 dvwa_user 的使用者,並設定密碼為 password123。
賦予 dvwa_user 對 dvwa 資料庫的全部權限。
重新整理權限並離開。
第五步:修改 DVWA 設定檔
這是最後,也是最關鍵的一步。需要告訴 DVWA 如何連線到剛剛建立的資料庫。
DVWA 的設定檔範本位於 /var/www/html/config/config.inc.php.dist。要先複製一份,並命名為 config.inc.php。
Bash
sudo cp /var/www/html/config/config.inc.php.dist /var/www/html/config/config.inc.php
使用 nano 編輯器修改這個新的設定檔。
Bash
sudo nano /var/www/html/config/config.inc.php
在編輯器中,找到以下幾行,並修改成剛剛設定的資料庫資訊:
PHP
// 找到這幾行...
$_DVWA[ 'db_user' ] = 'root';
$_DVWA[ 'db_password' ] = ' ';
$_DVWA[ 'db_database' ] = 'dvwa';
// ...修改成這樣
$_DVWA[ 'db_user' ] = 'dvwa_user';
$_DVWA[ 'db_password' ] = 'password123';
$_DVWA[ 'db_database' ] = 'dvwa';
reCAPTCHA Key (重要!)
PHP
$_DVWA[ 'recaptcha_public_key' ] = 'test';
$_DVWA[ 'recaptcha_private_key' ] = 'test';
修改完成後,按下 Ctrl + X -> Y -> Enter 存檔離開。
第六步:最終設定與啟動!
打開 Kali 中的 Firefox 瀏覽器,輸入網址 http://127.0.0.1/setup.php。
如果前面的步驟都正確,應該會看到 DVWA 的設定頁面。捲動到最下方,點擊 「Create / Reset Database」 按鈕。
網頁會重新載入,並顯示資料庫已成功建立的訊息。
最後,點擊頁面上的「Login」按鈕,或直接瀏覽 http://127.0.0.1/。
輸入 DVWA 預設的帳號密碼:
Username: admin
Password: password
登入成功!看到 DVWA 主介面的那一刻,我的靶場正式竣工
今日總結與明日預告
下載與部署 DVWA 檔案。
設定了複雜的檔案權限。
建立了專用的資料庫使用者與資料庫。
修改了 PHP 設定檔,讓網站與資料庫成功對接。
現在,擁有一個功能完整、可以隨時重置的 Web 攻擊靶場。
從明天開始,將正式從「建構者」轉變為「攻擊者」。我們的第一個目標是熟悉我們的駭客瑞士刀——Burp Suite,學習如何攔截、分析、甚至修改我與網站之間的每一個網路封包。